【UIToolKit】ListViewのダブルクリック判定

November 08, 2022


ListViewで項目をシングルクリックでの選択とダブルクリックによる決定を分けて操作したい場合、 onItemsChosen を利用すると良さそうです

こちらでコールバックを受けると

  • ダブルクリック
  • シングルクリックで選択された項目に対しEnterKeyが押された時

に反応するコールバックを作成することが可能

_listView = new ListView(_contexts, 50, MakeItem, BindItem)
				{
					focusable = true,
					selectionType = SelectionType.Single,
				};

//			_listView.onSelectionChange += OnSelectedItemChange; // シングルクリック判定
			_listView.onItemsChosen += OnSelectedItemChange; // ダブルクリック or EnterKey

			Add(_listView);

でした。

Unity公式の UI Toolkit のサンプルですが以下のリポジトリに複数の参考となるコードが含まれているのでUIToolKitのサンプルとしておすすめです(更新も頻繁に行われている) https://github.com/Unity-Technologies/ui-toolkit-manual-code-examples

ただしプロジェクトではなくコード集のため、単体では動作しません

また、ListViewの使い方は以下のManualに乗っています https://docs.unity3d.com/Manual/UIE-HowTo-CreateRuntimeUI.html